Feature
Check the FeatureBase class code on GitLab
A Feature is a particular metric measurement extracted from the raw data.
Each Feature has:
measurement_A measurement (e.g. for a point in an image, its X and Y coordinates.measurement_covariance_The covariances matrix of the measurement above.measurement_sqrt_information_the sqrt of the information matrix (i.e. the square root of the inverse of the covariance).Optionally, a feature Descriptor, used for feature matching. This would be defined in derived classes.
A list of Factors.
Constructing features
A feature is a very small object, merely storing a metric measurement and its uncertainty. Its constructor is simple,
FeatureBase(const std::string& _type,
const Eigen::VectorXs& _measurement,
const Eigen::MatrixXs& _meas_uncertainty,
UncertaintyType _uncertainty_type = UNCERTAINTY_IS_COVARIANCE);
Notice however:
The measurement is metric and comes in form of a N-vector
It is accompained by a NxN matrix of uncertainty. This matrix can be specified in different ways, indicated by the enum
UncertaintyTypewhich can take the values:UNCERTAINTY_IS_COVARIANCE(default), meaning that the matrix you entered is a covariance.UNCERTAINTY_IS_INFOmeaning you entered an information matrix.